package com.itheima.text01;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;

public class Demo02 {
    public static void main(String[] args) throws IOException {
        //  70%的概率随机到男生
        //  30%的概率随机到女生
        //  随机100万次，统计结果。看生成男生和女生的比例是不是接近于7：3
    //读取数据
        BufferedReader br = new BufferedReader(new FileReader("11.txt"));
        //将男生，女生的数据读取到对应的结合中
        ArrayList<String> boyNameLst=new ArrayList<>();
        ArrayList<String> girlNameList=new ArrayList<>();

        String line;
        while ((line=br.readLine())!=null)
        {
            String[] arr = line.split("-");
            //分别讨论读到的数据是男是女
            String sex = arr[1];
            if(sex.equals("男"))
            {
                //如果是男生，将姓名添加到男生集合中
                boyNameLst.add(arr[0]);
            }
            else
            {
                girlNameList.add(arr[0]);//添加的是姓名
            }
        }
        br.close();
        //已知概率是三七分
        ArrayList<Integer> list=new ArrayList<>();
        Collections.addAll(list,1,1,1,1,1,1,1,0,0,0);

        //随机获取list集合中的数据，来确定要点谁的名字
        Random r=new Random();
        int boyCount=0;
        int girlCount=0;
        for (int i = 0; i < 1000000; i++) {
            int index=r.nextInt(list.size());
            if(list.get(index)==1)//是男生
            {
                Collections.shuffle(boyNameLst);
                String name = boyNameLst.get(0);
                //获取男生的姓名并输出
                System.out.println(name);
                boyCount++;
            }
            else
            {
                Collections.shuffle(girlNameList);
                String name = girlNameList.get(0);
                System.out.println(name);
                girlCount++;
            }
        }

        //输出已经点名的次数
        System.out.println("男生被抽到了"+boyCount+"次");
        System.out.println("女生被抽到了"+girlCount+"次");
    }
}
